import { defineStore } from 'pinia'
export const useTagStore = defineStore('tag', {
    state: () => {
        return {
            tagList: [
                {
                    path: '/home',
                    name: 'Home',
                    meta: { title: '前端文件替换' },
                    component: () => import('@/views/fileChange.vue')
                },
            ]
        }
    },
    actions: {
        addTag (item) {
            this.tagList.push(item)
        },
        delTag (item) {
            const i = this.tagList.findIndex(tag => tag.path === item.path)
            if (i > 0) {
                this.tagList.splice(i, 1)
            }
        }
    },
    getters: {
        tabListGetter: state => state.tagList
    },
    persist: {
        enabled: true,
        // 自定义持久化参数
        strategies: [
            {
                // 自定义key
                key: 'piniaData',
                // 自定义存储方式，默认sessionStorage
                storage: sessionStorage,
                // 指定要持久化的数据，默认所有 state 都会进行缓存，可以通过 paths 指定要持久化的字段，其他的则不会进行持久化。
                paths: ['tagList']
            }
        ]
    },
})